<?php
/**
 * @package php-font-lib
 * @link    https://github.com/PhenX/php-font-lib
 * @author  Fabien Ménager <fabien.menager@gmail.com>
 * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
 */

namespace isszz\captcha\font\lib\table\type;
use isszz\captcha\font\lib\table\Table;

/**
 * `maxp` font table.
 *
 * @package php-font-lib
 */
class Maxp extends Table
{
	protected $def = [
		"version"               => self::Fixed,
		"numGlyphs"             => self::uint16,
		"maxPoints"             => self::uint16,
		"maxContours"           => self::uint16,
		"maxComponentPoints"    => self::uint16,
		"maxComponentContours"  => self::uint16,
		"maxZones"              => self::uint16,
		"maxTwilightPoints"     => self::uint16,
		"maxStorage"            => self::uint16,
		"maxFunctionDefs"       => self::uint16,
		"maxInstructionDefs"    => self::uint16,
		"maxStackElements"      => self::uint16,
		"maxSizeOfInstructions" => self::uint16,
		"maxComponentElements"  => self::uint16,
		"maxComponentDepth"     => self::uint16,
	];

	public function _encode()
	{
		$font                    = $this->getFont();
		$this->data["numGlyphs"] = count($font->getSubset());

		return parent::_encode();
	}
}